SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_I18]    
/*-------------------------------------------------------------------*/    
/*----- Empresa           : OFISIS S.A.                          ----*/    
/*----- Cliente           : OFISIS S.A.                          ----*/    
/*----- Sistema           : Contabilidad                         ----*/    
/*----- Modulo            : Empresa                              ----*/    
/*----- Programa          : Asientos de gestion  CASO 'COP'             ----*/    
/*----- Nombre            : SP_TXMVTO_CNTB_I18                   ----*/    
/*----- Script            : TXMVTO_CNTB                          ----*/    
/*----- Desarrollado por  : Franco Gamboni Koifman               ----*/    
/*----- Fecha             : 03/07/1997                           ----*/    
/*----- Base de Datos     : MS SQL Server                        ----*/    
/*----- Version BD        : 6.5                                  ----*/    
/*-------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/        
/*----- Modificado 1 por : Gustavo Espinoza E.                    -----*/        
/*----- Fecha Modifica   : 31/03/2005                             -----*/        
/*----- Detalle Modifica : Grabar Usuario y Fecha del APT         -----*/        
/*---------------------------------------------------------------------*/     
/*-------------------------------------------------------------------*/  
/*----- Modificado 2 por  : LMGP		                         ----*/  
/*----- Fecha Modifica    : 01/07/2006                           ----*/  
/*----- Detalle Modifica  : Graba Unidad de Origen y no la que se envia por APT ----*/  
/*-------------------------------------------------------------------*/  
/*---------------------------------------------------------------------*/        
/*----- Modificado 3 por : PDGV                                   -----*/        
/*----- Fecha Modifica   : 21/05/2007                             -----*/        
/*----- Detalle Modifica : optimizacion de proceso de gestion    -----*/        
/*---------------------------------------------------------------------*/      
/*-------------------------------------------------------------------*/
/*----- MODIFICADO 3 POR : PERCY GARCIA                          ----*/
/*----- FECHA MODIFICADO : 15/07/2009                            ----*/
/*----- DETALLE MODIF    : SE ORDENO JOINS , E QUITO ORDER BY EN CURSOR  ----*/
/*-------------------------------------------------------------------*/
/*-------------------------------------------------------------------*/  
/*----- Drop proc SP_TXMVTO_CNTB_I18                             ----*/    
/*----- Grant all on SP_TXMVTO_CNTB_I18 to PUBLIC                ----*/    
/*----- SP_TXMVTO_CNTB_I18 '01', 1, '001', 2004, 3, '041', '0000000001'                                       ----*/    
/*-------------------------------------------------------------------*/    
    
@ISCO_EMPR   TD_VC_002,    
@ISCO_USUA          TD_VC_008,
@IDFE_USUA          TD_DT_001,
@INNU_CNTB_EMPR   TD_IN_001_CONT,     
@ISCO_UNID        TD_VC_003,    
@INNU_ANNO   TD_IN_004_ANNO,    
@INNU_MESE   TD_IN_002_MESE,    
@ISCO_OPRC        TD_VC_003,    
@ISNS_ASTO   TD_VC_010    
As

Declare     
@CSCO_CNTA_CONT  TD_VC_020_CNTA,    
@CSCO_CNTA_DEST  TD_VC_020_CNTA,    
@CSCO_CNTA_EMPR   TD_VC_020_CNTA,    
@CSCO_ORDE_SERV         TD_VC_020,    
@VNNU_SECU  TD_IN_002,    
@CDFE_ASTO_CNTB   TD_DT_001,    
@CSCO_MONE   TD_VC_003,    
@CSTI_CAMB  TD_VC_003,    
@CNFA_CAMB   TD_NU_015_006,    
@CNIM_MVTO_ORIG  TD_NU_016_004,    
@CNIM_MVTO_CNTB  TD_NU_016_004,    
@VSTI_OPER  TD_VC_003,    
@CSTI_OPER_CNTB  TD_VC_003,    
@CSDE_GLOS  TD_VC_100,    
@CSCO_OPRC_ORIG      TD_VC_003,    
@CSCO_UNID_ORIG         TD_VC_003,    
@CSNS_ASTO_ORIG         TD_VC_010,    
@CDFE_DOCU_VENC  TD_DT_001,     
@CNFA_CAMB_DIAR  TD_NU_015_006,     
@CDFE_DOCU_REFE  TD_DT_001,     
@VSCO_OPRC_GEST      TD_VC_003,    
@CNNU_PROC  TD_IN_001,     
@CNNU_PROC_SECU  TD_IN_001,    
@CSTI_AUXI_EMPR   TD_VC_001,    
@CSCO_AUXI_EMPR   TD_VC_020,    
@CSST_AUXI_EMPR       TD_VC_001,    
@VSST_AUXI_DEST       TD_VC_001,    
@VSST_AUXI_CONT       TD_VC_001,    
@VNFA_CMPR_OFIC         TD_NU_015_006,    
@VNFA_VNTA_OFIC         TD_NU_015_006,     
@VNFA_CAMB_DIAR         TD_NU_015_006,    
@VSST_CNTA_CAMB         TD_VC_001,    
@VSCO_MONE  TD_VC_003,    
@CNNU_SECU_ORIG         TD_IN_002,  
@VSTI_AUXI_EMPR         TD_VC_001,  
@VSCO_AUXI_EMPR         TD_VC_020,  
@VSCO_ORDE_SERV         TD_VC_020,  
@VSST_ORDE_DEST         TD_VC_001,  
@VSST_ORDE_CONT         TD_VC_001,   
@CSST_DIFE_CAMB         TD_VC_001,      
@CSST_DIFE_MAYO         TD_VC_001,
@VSCO_UNID_ORIG         TD_VC_003

Create Table #TWMVTO_FCOAPAD(  
CO_UNID_CNTB    Varchar(3) NULL,  
CO_OPRC_CNTB    Varchar(3) NULL,  
NU_ASTO         Varchar(10) NULL,  
FE_ASTO_CNTB    DateTime NULL,  
CO_CNTA_EMPR    Varchar(20) NULL,        
TI_AUXI_EMPR    Varchar(1) NULL,  
CO_AUXI_EMPR    Varchar(20) NULL,  
CO_MONE         Varchar(3) NULL,  
TI_CAMB         Varchar(3) NULL,  
FA_CAMB         Numeric(15,6) NULL,  
TI_OPER         Varchar(3) NULL,        
IM_MVTO_ORIG    Numeric(16,4) NULL,  
IM_MVTO_CNTB    Numeric(16,4) NULL,  
DE_GLOS         Varchar(100) NULL,         
CO_CNTA_CONT    Varchar(20) NULL,  
CO_CNTA_DEST    Varchar(20) NULL,  
ST_AUXI_EMPR    Varchar(1) NULL,        
FE_DOCU_VENC    DateTime NULL,  
FA_CAMB_DIAR    Numeric(15,6) NULL,  
FE_DOCU_REFE    DateTime NULL,  
NU_PROC         Int NULL,  
NU_PROC_SECU    Int NULL,  
CO_ORDE_SERV    Varchar(20) NULL,        
NU_SECU         Numeric(18) NULL,  
ST_DIFE_CAMB    Varchar(1) NULL,
ST_DIFE_MAYO    Varchar(1) NULL
)        


Create Table #TWMVTO_CNTB_FCOAPAD   
(   
CO_EMPR        Varchar(2) NULL,   
NU_CNTB_EMPR   Int NULL,   
CO_UNID_CNTB   Varchar(3) NULL ,   
CO_OPRC_CNTB   Varchar(3) NULL,   
NU_ANNO        Int NULL,   
NU_MESE        Int NULL,        
NU_ASTO        Varchar(10) NULL,   
NU_SECU        Numeric(18) NULL,   
FE_ASTO_CNTB   DateTime NULL,   
CO_CNTA_EMPR   Varchar(20) NULL,   
TI_AUXI_EMPR   Varchar(1) NULL,   
CO_AUXI_EMPR   Varchar(20) NULL,        
TI_DOCU        Varchar(3) NULL,   
NU_DOCU        Varchar(20) NULL,   
FE_DOCU        DateTime NULL,   
TI_CAMB        Varchar(3) NULL,   
CO_MONE        Varchar(3) NULL,   
FA_CAMB        Numeric(15,6) NULL,   
TI_OPER        Varchar(3) NULL,        
IM_MVTO_ORIG   Numeric(16,4) NULL,   
IM_MVTO_CNTB   Numeric(16,4) NULL,   
DE_GLOS        Varchar(100) NULL,         
SI_MVTO_CNTB   Varchar(3) NULL,   
CO_UNID_ORIG   Varchar(3) NULL,   
CO_OPRC_ORIG   Varchar(3) NULL,         
NU_ASTO_ORIG   Varchar(10) NULL,   
FE_DOCU_VENC   DateTime NULL,   
FA_CAMB_DIAR   Numeric(15,6) NULL,   
FE_DOCU_REFE   DateTime NULL,        
NU_PROC        Int NULL,   
NU_PROC_SECU   Int NULL,   
CO_ORDE_SERV   Varchar(20) NULL, 
ST_GEST        Varchar(1) NULL,   
ST_REDO        Varchar(1) NULL,   
CO_CNTA_ORIG   Varchar(20) NULL ,   
NU_SECU_ORIG   Numeric(18) NULL,   
ST_OTRS        Varchar(20) NULL, 
ST_DIFE_CAMB   Varchar(1) NULL, 
ST_DIFE_MAYO   Varchar(1) NULL, 
CO_USUA_MODI   Varchar(8) NULL, 
FE_USUA_MODI   DateTime NULL, 
CO_USUA_CREA   Varchar(8) NULL, 
FE_USUA_CREA   DateTime NULL, 
---NU_SECU_VALI   Numeric(18) IDENTITY,   
)             

CREATE INDEX ITWMVTO_FCOAPAD_01 ON #TWMVTO_FCOAPAD (CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO)
WITH FILLFACTOR = 80 ON [PRIMARY]

CREATE INDEX ITWMVTO_CNTB_FCOAPAD_01 ON #TWMVTO_CNTB_FCOAPAD (CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO)
WITH FILLFACTOR = 80 ON [PRIMARY]


Begin Transaction SP_TXMVTO_CNTB_I18_1    
    
Delete From TXMVTO_CNTB     
Where CO_EMPR      = @ISCO_EMPR And    
 NU_CNTB_EMPR = @INNU_CNTB_EMPR And    
 NU_ANNO      = @INNU_ANNO And    
 NU_MESE      = @INNU_MESE And    
ST_GEST      = 'S'     
    
If @@ERROR <> 0     
Begin     
 Rollback Tran SP_TXMVTO_CNTB_I18_1
 Return    
End    

Commit transaction  SP_TXMVTO_CNTB_I18_1  

Select @CSTI_AUXI_EMPR = Null    
Select @CSCO_AUXI_EMPR = Null    
    
SELECT @VSCO_OPRC_GEST = CO_OPRC_CNTB     
FROM TTIDEN_OPER    
WHERE    
 CO_EMPR = @ISCO_EMPR And     
 ID_OPRC = '011' And    
 NU_CNTB_EMPR = @INNU_CNTB_EMPR    
    
SELECT @VSCO_UNID_ORIG = '@@@'
    
--Declare CU_TXMVTO_CNTB_I18_1 Cursor For    
Insert Into #TWMVTO_FCOAPAD(  
CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO,FE_ASTO_CNTB,CO_CNTA_EMPR,
TI_AUXI_EMPR,CO_AUXI_EMPR,CO_MONE,TI_CAMB,FA_CAMB,TI_OPER,        
IM_MVTO_ORIG,IM_MVTO_CNTB,DE_GLOS,         
CO_CNTA_CONT,CO_CNTA_DEST,ST_AUXI_EMPR,
FE_DOCU_VENC,FA_CAMB_DIAR,FE_DOCU_REFE,NU_PROC,NU_PROC_SECU,CO_ORDE_SERV,NU_SECU,ST_DIFE_CAMB,ST_DIFE_MAYO )
Select     
T1.CO_UNID_CNTB, T1.CO_OPRC_CNTB, T1.NU_ASTO, T1.FE_ASTO_CNTB, T1.CO_CNTA_EMPR,    
T1.TI_AUXI_EMPR, T1.CO_AUXI_EMPR, T1.CO_MONE, T1.TI_CAMB, T1.FA_CAMB, T1.TI_OPER,    
T1.IM_MVTO_ORIG, T1.IM_MVTO_CNTB, T1.DE_GLOS,     
T2.CO_CNTA_CONT, T2.CO_CNTA_DEST, T3.ST_AUXI_EMPR,    
T1.FE_DOCU_VENC, T1.FA_CAMB_DIAR, T1.FE_DOCU_REFE, T1.NU_PROC, T1.NU_PROC_SECU, T1.CO_ORDE_SERV,    
T1.NU_SECU, t1.ST_DIFE_CAMB, t1.ST_DIFE_MAYO  
From TXMVTO_CNTB T1, TRAUXI_GEST T2, TMPLAN_EMPR T3    
Where   T1.CO_EMPR      = @ISCO_EMPR    
And T1.NU_CNTB_EMPR = @INNU_CNTB_EMPR    
And T1.NU_ANNO      = @INNU_ANNO    
And T1.NU_MESE      = @INNU_MESE    
And T2.CO_EMPR      = T1.CO_EMPR    
And T2.CO_CNTA_EMPR = T1.CO_CNTA_EMPR    
And T2.TI_AUXI_EMPR = T1.TI_AUXI_EMPR    
And T2.CO_AUXI_EMPR = T1.CO_AUXI_EMPR    
And IsNull(Rtrim(T2.CO_CNTA_DEST), '') != ''  
And IsNull(Rtrim(T2.CO_CNTA_CONT), '') != ''  
And T1.CO_OPRC_CNTB != @VSCO_OPRC_GEST    
And  T1.SI_MVTO_CNTB = 'APR'    
And     Exists (Select CO_CNTA_EMPR From TMPLAN_EMPR Where CO_EMPR = @ISCO_EMPR    
       And CO_CNTA_EMPR = T2.CO_CNTA_DEST  
                            And NU_ANNO = 9999 And TI_SITU = 'ACT'  )    
And     Exists (Select CO_CNTA_EMPR From TMPLAN_EMPR Where CO_EMPR = @ISCO_EMPR    
       And CO_CNTA_EMPR = T2.CO_CNTA_CONT  
                            And NU_ANNO = 9999 And TI_SITU = 'ACT'  )    
  
And Not Exists (Select CO_EMPR From TMPLAN_ANNO   
Where CO_EMPR = @ISCO_EMPR   
And CO_CNTA_EMPR = t2.CO_CNTA_EMPR   
And NU_ANNO = 9999  
And DataLength(RTrim(IsNull(CO_CNTA_CONT, ''))) > 0  
And DataLength(RTrim(IsNull(CO_CNTA_DEST, ''))) > 0)  
 
And T3.CO_EMPR = T2.CO_EMPR    
And T3.CO_CNTA_EMPR = T2.CO_CNTA_EMPR    
And T3.TI_SITU ='ACT'    
And T3.NU_ANNO = 9999    

Union All    
Select     
T1.CO_UNID_CNTB, T1.CO_OPRC_CNTB, T1.NU_ASTO, T1.FE_ASTO_CNTB, T1.CO_CNTA_EMPR,    
T1.TI_AUXI_EMPR, T1.CO_AUXI_EMPR, T1.CO_MONE, T1.TI_CAMB, T1.FA_CAMB, T1.TI_OPER,    
T1.IM_MVTO_ORIG, T1.IM_MVTO_CNTB, T1.DE_GLOS, T2.CO_CNTA_CONT, T2.CO_CNTA_DEST, T2.ST_AUXI_EMPR,    
T1.FE_DOCU_VENC, T1.FA_CAMB_DIAR, T1.FE_DOCU_REFE, T1.NU_PROC, T1.NU_PROC_SECU, T1.CO_ORDE_SERV,    
T1.NU_SECU, t1.ST_DIFE_CAMB, t1.ST_DIFE_MAYO    
From TXMVTO_CNTB T1, TMPLAN_EMPR T2    
Where   T1.CO_EMPR      = @ISCO_EMPR    
And T1.NU_CNTB_EMPR = @INNU_CNTB_EMPR    
And T1.NU_ANNO      = @INNU_ANNO    
And T1.NU_MESE      = @INNU_MESE    

And T2.CO_EMPR      = T1.CO_EMPR    
And T2.CO_CNTA_EMPR = T1.CO_CNTA_EMPR    
And IsNull(Rtrim(T2.CO_CNTA_DEST), '') != ''  
And IsNull(Rtrim(T2.CO_CNTA_CONT), '') != ''  
And T1.CO_OPRC_CNTB != @VSCO_OPRC_GEST    
And T1.SI_MVTO_CNTB = 'APR'    
And     Exists (Select CO_CNTA_EMPR From TMPLAN_EMPR Where CO_EMPR = @ISCO_EMPR    
       And CO_CNTA_EMPR = T2.CO_CNTA_DEST  
                            And NU_ANNO = 9999 And TI_SITU = 'ACT' )    
And Exists (Select CO_CNTA_EMPR From TMPLAN_EMPR Where CO_EMPR = @ISCO_EMPR    
       And CO_CNTA_EMPR = T2.CO_CNTA_CONT  
                            And NU_ANNO = 9999 And TI_SITU = 'ACT'  )    
And T2.NU_ANNO  = 9999     
And     T2.TI_SITU ='ACT'    

Declare CU_TXMVTO_CNTB_I18_1 Cursor For    
Select 
CO_UNID_CNTB,CO_OPRC_CNTB,NU_ASTO,FE_ASTO_CNTB,CO_CNTA_EMPR,
TI_AUXI_EMPR,CO_AUXI_EMPR,CO_MONE,TI_CAMB,FA_CAMB,TI_OPER,        
IM_MVTO_ORIG,IM_MVTO_CNTB,DE_GLOS,         
CO_CNTA_CONT,CO_CNTA_DEST,ST_AUXI_EMPR,
FE_DOCU_VENC,FA_CAMB_DIAR,FE_DOCU_REFE,NU_PROC,NU_PROC_SECU,CO_ORDE_SERV,NU_SECU,ST_DIFE_CAMB,ST_DIFE_MAYO
From #TWMVTO_FCOAPAD
Order By 1, 5    
    
    
Open CU_TXMVTO_CNTB_I18_1    
Fetch CU_TXMVTO_CNTB_I18_1 into    
 @CSCO_UNID_ORIG, @CSCO_OPRC_ORIG, @CSNS_ASTO_ORIG, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,    
 @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,    
 @CSCO_MONE, @CSTI_CAMB, @CNFA_CAMB, @CSTI_OPER_CNTB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB,     
 @CSDE_GLOS, @CSCO_CNTA_CONT, @CSCO_CNTA_DEST, @CSST_AUXI_EMPR,    
 @CDFE_DOCU_VENC, @CNFA_CAMB_DIAR, @CDFE_DOCU_REFE, @CNNU_PROC, @CNNU_PROC_SECU,    
 @CSCO_ORDE_SERV, @CNNU_SECU_ORIG, @CSST_DIFE_CAMB, @CSST_DIFE_MAYO    
  
While @@Fetch_Status = 0    
  Begin    

IF @CSCO_UNID_ORIG != @VSCO_UNID_ORIG
BEGIN

  If @VSCO_UNID_ORIG != '@@@'
  Begin 
    Update TCFECH_PROC    
    Set NU_ULTI_ASTO = Convert(Smallint, @ISNS_ASTO),
     CO_USUA_MODI = @ISCO_USUA,
     FE_USUA_MODI = @IDFE_USUA
    Where    
    CO_EMPR      = @ISCO_EMPR       And    
    NU_CNTB_EMPR = @INNU_CNTB_EMPR  And    
    CO_UNID_CNTB = @VSCO_UNID_ORIG  And    
    CO_OPRC_CNTB = @ISCO_OPRC And
    NU_ANNO      = @INNU_ANNO       And    
    NU_MESE      = @INNU_MESE    
    
  End    

  Select @VNNU_SECU = 1
  select @VSCO_UNID_ORIG = @CSCO_UNID_ORIG
END


 If @CSTI_OPER_CNTB = 'ABO'    
    Select @VSTI_OPER = 'CAR'    
 Else    
    Select @VSTI_OPER = 'ABO'    
   /*--- Para el Factor de Cambio Diario ---*/    
    
    
If RTRIM(@CSCO_CNTA_CONT) IS NOT Null And RTRIM(@CSCO_CNTA_DEST) IS NOT Null    
 Begin    
    If @CSST_AUXI_EMPR = 'S'    
       Begin    
         Select @VSST_AUXI_DEST = ST_AUXI_EMPR, @VSST_ORDE_DEST = ST_ORDE_SERV  
         From TMPLAN_EMPR    
         Where CO_EMPR = @ISCO_EMPR And CO_CNTA_EMPR = @CSCO_CNTA_DEST And NU_ANNO = 9999     
  
         If @VSST_AUXI_DEST = 'N'   
          Begin  
           Select @VSTI_AUXI_EMPR = NULL  
           Select @VSCO_AUXI_EMPR = NULL   
          End  
         Else  
          Begin  
           Select @VSTI_AUXI_EMPR = @CSTI_AUXI_EMPR  
           Select @VSCO_AUXI_EMPR = @CSCO_AUXI_EMPR  
          End  
         If @VSST_ORDE_DEST = 'N'  
          Select @VSCO_ORDE_SERV = NULL  
         Else  
          Select @VSCO_ORDE_SERV = @CSCO_ORDE_SERV  
       End    
  
    Insert Into #TWMVTO_CNTB_FCOAPAD    
 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,    
 NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,    
 TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS,   
 SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, FE_DOCU_VENC, FA_CAMB_DIAR, FE_DOCU_REFE,    
 NU_PROC, NU_PROC_SECU, CO_ORDE_SERV, ST_GEST, ST_REDO, CO_CNTA_ORIG, NU_SECU_ORIG, ST_DIFE_CAMB, ST_DIFE_MAYO,  
 ST_OTRS, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA )    
     Values    
 ( @ISCO_EMPR, @INNU_CNTB_EMPR, @CSCO_UNID_ORIG, @ISCO_OPRC,    
 @INNU_ANNO, @INNU_MESE, @ISNS_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,    
 @CSCO_CNTA_DEST, @VSTI_AUXI_EMPR, @VSCO_AUXI_EMPR, NULL, NULL, NULL, @CSTI_CAMB,    
 @CSCO_MONE, @CNFA_CAMB, @CSTI_OPER_CNTB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB,    
 @CSDE_GLOS, 'APR', @CSCO_UNID_ORIG, @CSCO_OPRC_ORIG, @CSNS_ASTO_ORIG, @CDFE_DOCU_VENC, @CNFA_CAMB_DIAR,  
 @CDFE_DOCU_REFE, @CNNU_PROC, @CNNU_PROC_SECU, @VSCO_ORDE_SERV, 'S', 'N',@CSCO_CNTA_EMPR, @CNNU_SECU_ORIG,  
 @CSST_DIFE_CAMB, @CSST_DIFE_MAYO, 'N', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA,@IDFE_USUA   )    
/*
If @@error <> 0      
   Begin     
 Close CU_TXMVTO_CNTB_I18_1    
 Deallocate CU_TXMVTO_CNTB_I18_1    
 Rollback tran SP_TXMVTO_CNTB_I18    
        Return    
    End     
*/
/*Incrementa el contador de registros */    
    Select @VNNU_SECU = @VNNU_SECU + 1    
    If @CSST_AUXI_EMPR = 'S'   
     Begin    
      Select @VSST_AUXI_CONT = ST_AUXI_EMPR, @VSST_ORDE_CONT = ST_ORDE_SERV  
      From TMPLAN_EMPR    
      Where CO_EMPR = @ISCO_EMPR And CO_CNTA_EMPR = @CSCO_CNTA_CONT And NU_ANNO = 9999     
      If @VSST_AUXI_CONT = 'N'   
       Begin  
        Select @VSTI_AUXI_EMPR = NULL  
        Select @VSCO_AUXI_EMPR = NULL  
       End  
      Else  
       Begin  
        Select @VSTI_AUXI_EMPR = @CSTI_AUXI_EMPR  
        Select @VSCO_AUXI_EMPR = @CSCO_AUXI_EMPR  
       End  
  
      If @VSST_ORDE_CONT = 'N'  
       Select @VSCO_ORDE_SERV = NULL  
      Else  
       Select @VSCO_ORDE_SERV = @CSCO_ORDE_SERV  
     End    
    Insert Into #TWMVTO_CNTB_FCOAPAD    
 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,    
 NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,    
 TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,    
 IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,     
 NU_ASTO_ORIG, FE_DOCU_VENC, FA_CAMB_DIAR, FE_DOCU_REFE, NU_PROC, NU_PROC_SECU,  
 CO_ORDE_SERV, ST_GEST, ST_REDO, CO_CNTA_ORIG, NU_SECU_ORIG, ST_DIFE_CAMB, ST_DIFE_MAYO, ST_OTRS, 
 CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA)    
     Values    
 ( @ISCO_EMPR, @INNU_CNTB_EMPR, @CSCO_UNID_ORIG, @ISCO_OPRC,    
 @INNU_ANNO, @INNU_MESE, @ISNS_ASTO, @VNNU_SECU, @CDFE_ASTO_CNTB,    
 @CSCO_CNTA_CONT, @VSTI_AUXI_EMPR, @VSCO_AUXI_EMPR, NULL, NULL, NULL, @CSTI_CAMB,    
 @CSCO_MONE, @CNFA_CAMB, @VSTI_OPER, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSDE_GLOS, 'APR',  
 @CSCO_UNID_ORIG, @CSCO_OPRC_ORIG, @CSNS_ASTO_ORIG, @CDFE_DOCU_VENC, @CNFA_CAMB_DIAR,  
 @CDFE_DOCU_REFE, @CNNU_PROC, @CNNU_PROC_SECU, @VSCO_ORDE_SERV, 'S', 'N', @CSCO_CNTA_EMPR,  
 @CNNU_SECU_ORIG, @CSST_DIFE_CAMB, @CSST_DIFE_MAYO,'N', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA )    
/*
 If @@error <> 0      
    Begin     
  Close CU_TXMVTO_CNTB_I18_1    
  Deallocate CU_TXMVTO_CNTB_I18_1    
  Rollback tran SP_TXMVTO_CNTB_I18    
  Return    
       End    
*/
    Select @VNNU_SECU = @VNNU_SECU + 1    
  End    
 Fetch CU_TXMVTO_CNTB_I18_1 into    
 @CSCO_UNID_ORIG, @CSCO_OPRC_ORIG, @CSNS_ASTO_ORIG, @CDFE_ASTO_CNTB, @CSCO_CNTA_EMPR,    
 @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR,    
 @CSCO_MONE, @CSTI_CAMB, @CNFA_CAMB, @CSTI_OPER_CNTB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB,     
 @CSDE_GLOS, @CSCO_CNTA_CONT, @CSCO_CNTA_DEST, @CSST_AUXI_EMPR,    
 @CDFE_DOCU_VENC, @CNFA_CAMB_DIAR, @CDFE_DOCU_REFE, @CNNU_PROC, @CNNU_PROC_SECU,    
      @CSCO_ORDE_SERV, @CNNU_SECU_ORIG, @CSST_DIFE_CAMB, @CSST_DIFE_MAYO  
End    
    
Close CU_TXMVTO_CNTB_I18_1    
Deallocate CU_TXMVTO_CNTB_I18_1  

Begin Transaction SP_TXMVTO_CNTB_I18    

Insert Into TXMVTO_CNTB  
 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,        
 NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,        
 TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER, IM_MVTO_ORIG,   
 IM_MVTO_CNTB, DE_GLOS,SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,NU_ASTO_ORIG,   
 FE_DOCU_VENC, FA_CAMB_DIAR, FE_DOCU_REFE,NU_PROC, NU_PROC_SECU, CO_ORDE_SERV,   
 ST_GEST, ST_REDO, CO_CNTA_ORIG, NU_SECU_ORIG, ST_DIFE_CAMB, ST_DIFE_MAYO,  ST_OTRS, 
 CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA )      
Select CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE,        
 NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,        
 TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER, IM_MVTO_ORIG,   
 IM_MVTO_CNTB, DE_GLOS,SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG,NU_ASTO_ORIG,   
 FE_DOCU_VENC, FA_CAMB_DIAR, FE_DOCU_REFE,NU_PROC, NU_PROC_SECU, CO_ORDE_SERV,   
 ST_GEST, ST_REDO, CO_CNTA_ORIG, NU_SECU_ORIG, ST_DIFE_CAMB, ST_DIFE_MAYO,  ST_OTRS, 
 CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA
From #TWMVTO_CNTB_FCOAPAD  

 If @@error <> 0             
   begin         
    rollback tran SP_TXMVTO_CNTB_I18
    return        
   end    

Commit transaction  SP_TXMVTO_CNTB_I18  

If @VSCO_UNID_ORIG != '@@@'
Begin    

 Update TCFECH_PROC    
 Set NU_ULTI_ASTO = Convert(Smallint, @ISNS_ASTO),
     CO_USUA_MODI = @ISCO_USUA,
     FE_USUA_MODI = @IDFE_USUA
 Where    
 CO_EMPR      = @ISCO_EMPR       And    
 NU_CNTB_EMPR = @INNU_CNTB_EMPR  And    
 CO_UNID_CNTB = @VSCO_UNID_ORIG  And    
CO_OPRC_CNTB = @ISCO_OPRC And
 NU_ANNO      = @INNU_ANNO       And    
 NU_MESE      = @INNU_MESE   
 
/*
 If @@error <> 0         
   begin     
    rollback tran     
    return    
   end    
*/
end    


Return                     
    
/*--------------------------------- Fin -------------------------------*/







GO
